Secondary media insertion systems, methods, and apparatuses

ABSTRACT

Systems, methods, and apparatuses for outputting secondary media assets are disclosed. One or more secondary media assets may be associated with objects already existing within a first media asset. The one or more secondary media assets may be indicated according to a manifest file and may be output during execution of a trick play command during output of the first media asset.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/858,764, filed on Dec. 29, 2017, which is hereby incorporated byreference in its entirety.

BACKGROUND

Trick play commands enable users to manipulate digital media throughcommands such as pause, slow, rewind, fast-forward, etc. Users mayfast-forward through particular media such as, for example, commercialadvertisements. Such manipulation causes a user to avoid portions of thedigital media (e.g., during rewind or fast-forward) or enables a user tofocus on portions of the digital media (e.g., during pause orslow-motion).

SUMMARY

Methods, systems, and apparatuses are described for supplementing afirst media asset, such as television content, movies, live events,online video, commercials, etc., with a secondary media asset, such aswebsites, trivia, general information, additional advertisements,applications, games, etc. A computing device may receive a trick playcommand during output of a first media asset. The trick play command maybe a pause command, a slow command, a rewind command, a fast-forwardcommand, etc. The computing device may also receive a timestampassociated with the trick play command. In response to receiving thetrick play command, the computing device may search for one or moresecondary media assets associated with a respective start time(corresponding to an on-screen appearance of an object of the firstmedia asset) less than or equal to the timestamp and comprise arespective end time (corresponding to the object of the first mediaasset disappearing from on-screen) greater than or equal to thetimestamp.

The computing device may retrieve, for each of the determined one ormore content descriptors, respective secondary media assets andrespective spatial location information associated with the first mediaasset at the timestamp. The computing device may output, duringexecution of the trick play command, the respective secondary mediaassets and the first media asset. The outputting may comprisepositioning, based on respective spatial location information, therespective secondary media assets adjacent to objects within the firstmedia asset.

This summary is not intended to identify critical or essential featuresof the disclosures herein, but instead merely summarizes certainfeatures and variations thereof. Other details and features are alsodisclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

Some features herein are shown by way of example, and not by way oflimitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements.

FIG. 1 is an example information distribution network.

FIG. 2 is an example hardware platform on which the various elementsdescribed herein may be implemented.

FIG. 3 is as example environment comprising devices connected to aserver via a network.

FIG. 4 is a flow chart of an example of a method for determining asecondary media asset for output in combination with a first mediaasset.

FIGS. 5-10 show examples of screenshots associated with output of firstand second media assets during a first trick play command.

FIGS. 11A-11C show examples of outputs associated with output of firstand second media assets during a second trick play command.

FIG. 12 is a flow chart of an example of a method for selectingsecondary media assets based on timestamps associated with trick playcommands executed during output of a first media asset.

FIG. 13 is a flow chart of an example of a method for outputtingsecondary media assets during execution of a trick play command.

DETAILED DESCRIPTION

Systems, apparatuses, and methods for overlaying a secondary media assetduring operation of trick play commands in connection with the playbackof a first media asset are described. The first media asset or thesecondary media asset may be content associated with a video servicenetwork, such as a cable television network. However, the first mediaasset or the secondary media asset may comprise other forms of content,including audio content, video content, and multimedia content, and inconnection with any number of delivery mechanisms for such content,including video networks, media delivered via the Internet or anotherinformation network, media stored on any digital medium, including, butnot limited to, DVDs, CDs, solid-state memory, and hard disk drives suchas found in computers and DVRs.

Any mode of operation of a digital media player device other thanstandard playback may be known as trick play. Trick play commandsinclude, pause, fast-forward, double fast-forward, triple fast-forward,quadruple fast-forward, rewind, double rewind, triple rewind, quadruplerewind, slow playback, slow rewind, frame advance, go back (e.g., thirtyseconds), start over, etc.

A substantial source of revenue in the media production and deliveryindustries is payment for additional media asset (e.g., advertising)space within a first media asset. This includes, for example,commercials aired before, after, or in the middle of a content asset,advertisements before, after, or in the middle of media delivered viathe Internet or other information networks, advertisements placed onrecorded media such as DVDs and CDs, and advertisements placed withinpodcasts, etc.

A user avoids, such as by fast-forwarding, portions of the additionalmedia assets within the first media asset. A first media asset may besupplemented with secondary media assets to make up for any skippedadditional media assets. A user may focus on portions of additionalmedia assets. Accordingly, additional information may be associated onobjects in additional media assets with which the user is focusing.

A secondary media asset (e.g., an advertisement, supplementalinformation, etc.) may be associated with objects (e.g., soda cans,suits, wall paint, actors, etc.), already existing within a first mediaasset (e.g., a television show). Secondary media asset providers may beable to generate and/or edit a secondary media asset and/or otherinformation associated with the secondary media asset post-production.For example, additional information (e.g., an advertisement forCOCA-COLA®) may be associated with any object (e.g., any soda can) in ascene of a previously produced sitcom. Additionally or alternatively,different information (e.g., an advertisement for PEPSI®) may beassociated with the same object (e.g., the soda can) in a differentairing of the scene of the sitcom. Different information may beassociated with different objects in a media asset at different timesassociated with the media asset.

Any number of secondary media assets may be associated with any numberof objects within a first media asset. Because media devices havelimited output space, causing a plurality of secondary media assets tobe output in association with a first media asset may obfuscate outputof the first media asset. Accordingly, a secondary media asset may beoutput in response to execution and/or during trick play (e.g., pause,fast-forward, etc.) of a first media asset.

A first media asset (e.g., television content) may be stored on thenetwork both in its standard format (e.g., a standard MPEG file), and inone or more associated trick files. For example, there may be adifferent trick file for each different trick mode of operation. Thus,for example, a fast-forward trick play may result in playing I-frames(e.g., an intra-coded picture or video frame) at one-second intervalsfor ¼^(th) of a second. The trick file associated with the originalstandard MPEG file may be another MPEG file containing the content ofthe I-frames separated by one-second intervals within the original MPEGfile output for ¼^(th) second each, thereby providing the illusion thatthe first media asset is being fast-forwarded. Thus, when a userwatching content selects fast-forward, the selection of fast-forward maybe mapped to the corresponding portion of this trick file so that thecontent server delivers to that user the appropriate portion of thattrick file, rather than the original standard MPEG file.

The trick file may not necessarily be generated and stored in advance;the trick file may be generated on the fly when the trick mode isselected. For example, a pause command may halt output of the originalMPEG file and may generate a trick file containing one or moreI-frame(s) corresponding to the original MPEG file at a timestampassociated with activation of the pause command Output of the singleI-frame (and/or a loop series of I-frames) until after another commandis received may provide the illusion that the first media asset ispaused.

An overlay may be output with a secondary media asset in associationwith the first media asset or the trick file. For example, the secondarymedia asset may be substituted for, placed in front of, overlaid on witha constant or varying degrees of transparency (e.g., from 0 to 100%),juxtaposed with, and/or tiled with the first media asset/the trick fileillustrating the trick play command. The secondary media asset maycorrespond to objects placed within the first media asset. For example,if the first media asset comprises a car chase scene with a SUBARU® WRXSTi and a MITSUBISHI® Lancer Evo, a secondary media asset pertaining tothe WRX STi and comprising additional information, websites, links,videos, etc., may be overlaid on the WRX STi. Likewise, a secondarymedia asset pertaining to the Lancer Evo and comprising additionalinformation, websites, links, videos, etc., may be overlaid on theLancer Evo. The overlaid information may be output during trick play tonot interfere with the content of the first media asset.

Advertisers may choose to supply the secondary media asset inassociation with the first media asset. Additionally or alternatively,advertisers may bid to have different video objects representing in theunderlying video (e.g., different images of a beverage (e.g., COKE®,PEPSI®) for a particular area or time period. Thus, if the content issponsored by PEPSI®, a PEPSI® can may appear whereas if the content issponsored by COKE®, a COKE® can may appear in the video. Further, if anadvertiser (e.g., MITSUBISHI®) chooses not to take advantage ofoverlaying secondary media, then no secondary media asset may beoverlaid on the corresponding object (e.g., MITSUBISHI® Lancer Evo) ofthe first media asset during trick play. Additionally or alternatively,a competitor may choose to advertise their substitute goods over themedia object of a competitor. An advertiser may pay to have his or hergoods substituted for the underlying media object via substitution ofvideo fragments in the underlying programming based on inputs from amanifest file, which may be keyed off an advertising profile inputs. Amedia content provider may sell secondary media asset avails to otheradvertisers (e.g., alternate car manufacturers, third-party automotivepart supplier, third-party automotive services, etc.), such that asecondary media asset from the other advertisers may be overlaid on thefirst media asset during trick play.

The secondary media asset may be output in a portion of the output areaspecific to an object within the first media asset. The secondary mediaasset may be output anywhere in the output area disassociated with theunderlying objects of the first media asset. The secondary media assetmay be slightly transparent, such that trick play of the first mediaasset may be still be seen in the background. The secondary media assetmay be any size (e.g., one or more pixels, the entire output area,larger than the entire output area, etc.). The secondary media asset maytake any number of forms, including, without limitation, still images,video, text, links, website portals, applications, games, etc. Thesecondary media asset may be output as a hypertext markup language five(“HTML5”) overlay. The advertised media object may be represented byvideo fragments that have higher resolution or frame rate making themappear to stand out from other video objects and thereby make them moreappealing to the end user. For example, before and after views of amodel before and after applying makeup may have an enhanced videoresolution (e.g., 4 K, 8 K, 16 K and/or 24 K video) applied to the“after” image of the model once the advertised product has been applied.The video fragments may be increased in size slightly, but may beprocessed at the same speed as surrounding video fragments and thusseamlessly integrated into the video. The increased resolution and/orframe rate may also be applied to the area representing the productwhile the remainder of the video frame remains at a lower videoresolution/rate.

In order to associate a secondary media asset with an object within thefirst media asset, the time that the object is on-screen may be utilizedwith the location of the object with respect to the media device screen.A timestamp associated with execution of a trick play command (e.g., thetime within the first media asset duration at which a pause command wasinitiated, the time within the first media asset duration that afast-forward command is being executed, etc.) may be used to identifywhat secondary media asset to overlay on the first media asset and whereto overlay the secondary media. For example, fifteen minutes into thefirst media asset, a particular actor may appear on screen. A secondarymedia asset may be prepared for association with the particular actor.Such a secondary media asset may be located by comparing a timestampassociated with execution of the trick play command (e.g., a user pausedat minute 15, the first media asset is being fast-forwarded past minute15, etc.) to pre-defined time windows associated with the length of timethat the particular actor is on-screen. If the timestamp is within apre-defined time window for a secondary media, that secondary mediaasset and its spatial location information may be located. The secondarymedia asset may be output at the spatial location at the time associatedwith the timestamp.

A secondary media asset may be individually addressed to specific users.A household within a neighborhood having an average home sale priceabove a certain threshold may receive a secondary media assetcorresponding to the SUBARU® WRX STi, whereas another household within aneighborhood with lower average residential real estate prices mayreceive a secondary media asset corresponding to a SUBARU® Impreza (alower cost base model of the SUBARU® WRX STi). The targeted secondarymedia asset may be different depending on the specific user or userdemographic profile. For example, users over the age of 35 may not beoutput with additional information regarding the SUBARU® WRX STi or theMITSUBISHI® Lancer Evo (or their base models), because such vehicles aregenerally targeted towards a younger demographic.

The use of a secondary media asset is not limited to outputting thesecondary media asset during portions of a first media asset. It may bepossible to provide a secondary media asset to users when they are usingother trick play commands during advertising content (e.g., commercials)before, during, or after the first media asset, as such examples mayprovide additional advertising opportunities.

The secondary media asset may comprise supplemental information thatcould not be output in a threshold amount of time or information thatmay be different from the content of the underlying media. For example,the secondary media asset may include additional information aboutactors or actresses within a scene (e.g., an actor's or an actress'Wikipedia or IMDB page), the type and/or color of the paint on the wallsof the scene, the brand and/or designers of the clothing worn by theactors or actresses, etc. Additionally or alternatively, the secondarymedia asset may replace or supplement the content of a conventionaltrick file with other content perceivable and, hopefully, of interest tothe user. For example, the secondary media asset may be a MERCEDES-BENZ®v. CADILLAC® car chase scene that replaces the SUBARU® v. MITSUBISHI®car chase scene.

FIG. 1 shows an example information distribution network 100. Thenetwork 100 may be any type of information distribution network, such assatellite, telephone, cellular, wireless, etc. One example may be anoptical fiber network, a coaxial cable network or a hybrid fiber/coax(HFC) network. Some such networks may use a series of interconnectedcommunication lines 101 (e.g., coaxial cables, optical fibers, wireless,etc.) to connect multiple homes 102 to a central office or headend 103.The central office 103 may transmit downstream information signals ontothe lines 101, and each home 102 may have a receiver used to receive andprocess those signals.

There may be one line 101 originating from the central office 103, andit may be split a number of times to distribute the signal to thevarious homes 102 in the vicinity of (which may be many miles from) thecentral office 103. Portions of the lines 101 may also be implementedwith fiber-optic cable, while other portions may be implemented withcoaxial cable, other lines, or wireless communication paths.

The central office 103 may include a termination system (TS) 104, suchas a cable modem termination system (CMTS), which may be a computingdevice configured to manage communications between devices on thenetwork of lines 101 and backend devices such as servers 105-107 (to bediscussed further below). The TS 104 may be as specified in a standard,such as the Data Over Cable Service Interface Specification (DOCSIS)standard, published by Cable Television Laboratories, Inc. (a.k.a.CableLabs) for HFC-type networks, or it may be a similar or modifieddevice instead. The TS 104 may be configured to place data on one ormore downstream frequencies to be received by modems at the varioushomes 102, and to receive upstream communications from those modems onone or more upstream frequencies. The central office 103 may alsoinclude one or more network interfaces 108, which may permit the centraloffice 103 to communicate with various other external networks 109.These networks 109 may include, for example, networks of Internetdevices, telephone networks, cellular telephone networks, fiber opticnetworks, local wireless networks (e.g., WiMAX), satellite networks, andany other desired network, and the interface 108 may include thecorresponding circuitry needed to communicate on the network 109, and toother devices on the network such as a cellular telephone network andits corresponding cell phones.

As noted above, the central office 103 may include a variety of servers105-107 that may be configured to perform various functions. Forexample, the central office 103 may include a push notification server105. The push notification server 105 may generate push notifications todeliver data and/or commands to the various homes 102 in the network (ormore specifically, to the devices in the homes 102 that are configuredto detect such notifications). The central office 103 may also include acontent server 106. The content server 106 may be one or more computingdevices that are configured to provide content to users in the homes.This content may be, for example, video on demand content, data,television content, songs, text listings, etc. The content server 106may include software to validate user identities and entitlements,locate and retrieve requested content, encrypt the content, and initiatedelivery (e.g., streaming) of the content to the requesting user and/ordevice.

The central office 103 may also include one or more application servers107. An application server 107 may be a computing device configured tooffer any desired service, and may run various languages and operatingsystems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD,Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, theapplication server 107 may be responsible for collecting contentinformation and generating a data download for content listings. Anotherapplication server may be responsible for monitoring user viewing habitsand collecting that information for use in selecting advertisements.Another application server may be responsible for formatting andinserting advertisements in a video stream being transmitted to thehomes 102. Other application servers 107 may be used for billing,entitlements, voice over Internet Protocol handling, single sign-on, andany other desired feature. Additionally or alternatively, anotherapplication server may be responsible for presenting an overlaidsecondary media asset based on received trick play commands.

An example home 102 a may include a modem 110, which may includetransmitters and receivers used to communicate on the lines 101 and withthe central office 103. The modem 110 may be, for example, a coaxialcable modem (for coaxial cable lines 101), a fiber interface node (forfiber optic lines 101), or any other desired modem device. The modem 110may be connected to, or be a part of, a gateway interface device 111.The gateway interface device 111 may be a computing device thatcommunicates with the modem 110 to enable one or more other devices inthe home to communicate with the central office 103 and other devicesbeyond the central office. The gateway 111 may be a set-top box (STB),digital video recorder (DVR), computer server, or any other desiredcomputing device. The gateway 111 may also include (not shown) localnetwork interfaces to provide communication signals to devices in thehome, such as an output device 112, a plurality of STBs 113, a pluralityof personal computers 114, a plurality of laptop computers 115, aplurality of wireless devices 116 (wireless laptops and netbooks, mobilephones, mobile output devices, personal digital assistants (PDA), etc.),and/or any other desired devices. Examples of the local networkinterfaces include Multimedia Over Coax Alliance (MoCA) interfaces,Ethernet interfaces, universal serial bus (USB) interfaces, wirelessinterfaces (e.g., IEEE 802.11), Bluetooth interfaces, and others. Somedevices, such as the plurality of wireless devices 116, may be used as auser's remote control device, described further below. These devices mayalso be usable outside of a home 102.

FIG. 2 shows general hardware elements (some of which alternately may beimplemented in software) that may be used to implement any of thevarious computing devices discussed herein. The computing device 200 mayinclude one or more processors 201, which may execute instructions of acomputer program. The instructions may be stored in any type of tangiblecomputer-readable medium or memory, to configure the operation of theprocessor 201. As used herein, the term tangible computer-readablestorage medium is expressly defined to include storage devices orstorage discs and to exclude transitory transmission media andpropagating signals. For example, instructions may be stored in aread-only memory (ROM) 202, a random access memory (RAM) 203, aremovable media 204, such as a Universal Serial Bus (USB) drive, compactdisk (CD) or digital versatile disk (DVD), floppy disk drive, and/or anyother desired computer-readable storage medium. Instructions may also bestored in an attached (or internal) hard drive 205. The computing device200 may include one or more output devices, such as a display 206 (or anexternal television), and may include one or more output devicecontrollers 207, such as a video processor. There may also be one ormore user input devices 208, such as a remote control, keyboard, mouse,touch screen, microphone, software user interface, etc. The computingdevice 200 may also include one or more network interfaces, such as oneor more input/output circuits 209 (such as a network card) tocommunicate with an external network 210. The network interface may be awired interface, wireless interface, or a combination of the two. Theinterface 209 may include a modem (e.g., a cable modem), and the network210 may include the communication lines 101 discussed above, theexternal network 109, an in-home network, a provider's wireless,coaxial, fiber, or hybrid fiber/coaxial distribution system (e.g., aDOCSIS network), or any other desired network.

Users accessing content from the central office 103 may have improvedexperiences. For example, one such user may be a viewer who may bewatching television content being transmitted from the central office103. FIG. 3 comprises an example home 102 in communication with anapplication server 107 from the central office 103 over a network 300.As shown within the example home 102, a user may be able to access afirst media asset using any media device, such as a smartphone 302, apersonal computer 304, a tablet computer 306, a laptop or netbookcomputer 308, a smart television, etc., an output device 310, or agateway 312. Example media devices may comprise at least the elementsdescribed with reference to the computing device 200.

The gateway 312 may transmit a first media asset to the output device310 for output to a user. The user may control output of the first mediaasset via commands (including trick-play commands) from a wirelessdevice 314, such as, for example, a remote control. When the useractivates a trick-play command, such as pause or fast-forward, on thewireless device 314, a first signal may be transmitted to the gateway312 to perform the trick-play command. The gateway 312 may send a secondsignal to the application server 107 via the network 300 in response toor after receiving the trick-play command. The second signal may includeidentification information for the first media asset, a timestampassociated with the trick-play command, identification information forthe user, etc.

Additionally or alternatively, commands may be activated without thewireless device 314 using alternate input techniques such as voiceactivation, touchscreen, keypress, wired mouse or touchpad click, etc.For example, the smartphone 302, the personal computer 304, the tabletcomputer 306, and/or the laptop or netbook computer 308 may havetouchscreens that enable a user to activate commands via touching thescreen. Accordingly, the smartphone 302, the personal computer 304, thetablet computer 306, and/or the laptop or netbook computer 308 may beboth a controller and a presenter. Thus, upon activation of a trick-playcommand (e.g., via a touchscreen), the smartphone 302, the personalcomputer 304, the tablet computer 306, and/or the laptop or netbookcomputer 308 may send a signal to the application server 107 via thenetwork 300. The signal may include identification information for thefirst media asset, a timestamp associated with the trick-play command,identification information for the user, etc.

The application server 107 may locate one or more manifest files 316.The identification information for the user may be used to identify amanifest file 316 corresponding to the user. A secondary media asset maybe targeted directly towards the user. Additionally or alternatively,the identification information for the first media asset may be used toidentify a manifest file 316 corresponding to the first media asset. Themanifest file 316 may correspond with a particular channel or networkand may be segmented based on content and/or broadcast times associatedwith the particular channel or network. The identification informationfor the first media asset may be used to identify a manifest file 316including a segment associated with the first media asset. One or moreof the smartphone 302, the personal computer 304, the tablet computer306, the laptop or netbook computer 308, the output device 310, or thegateway 312 may download or otherwise access the located one or moremanifest files 316.

Each manifest file 316 may contain addresses or pointers to a pluralityof content descriptors 318. The content descriptors 318 may bedesignated files identified by the manifest file 316. Each of theplurality of content descriptors 318 may correspond to a differentsecondary media asset and data associated with the secondary media. Forexample, a content descriptor 318 may contain the secondary media asset(e.g., link, text, image, audio, video, application, game, interactivemedia, etc.), the time in the first media asset in which the secondarymedia asset should appear (e.g., start time, stop time, duration), thespatial information corresponding to location(s) in the first mediaasset with which the secondary media asset may be associated (e.g., XYcoordinates), additional criteria (e.g., demographic qualifications),priority information, etc. Thus, the content descriptor 318 may describethe content, time, position, and additional qualifications associatedwith the secondary media. Accordingly, the manifest file 316 mayidentify each and every secondary media asset that may be associatedwith the first media asset.

Additionally or alternatively, the manifest file may be a container witha plurality of content descriptor files. The content descriptors 318 maybe subgroups within the larger manifest file 316 (e.g., the manifestfile may be a table with a plurality of content descriptors within rowsand columns of the table). As shown in FIG. 3, each manifest file 316may identify n content descriptors 318.

A secondary media asset provider may generate/edit or request generationand/or edits of content descriptors 318 associated with secondary media.The application server 107 may provide such access to secondary mediaasset providers through a user-interface. The application server 107 maycollect a plurality of content descriptors with varying information andorganize the plurality of content descriptors into the manifest files316 based on channel, network, content, broadcast times, etc.

An example content descriptor 318 may comprise a secondary media assetassociated with a BUD-LIGHT® beer can that appears in the first mediaasset on a table 15minutes into the first media asset. The examplecontent descriptor 318 may contain a BUD-LIGHT® video commercial as thesecondary media. The example content descriptor 318 may include a starttime at 15:00 relative to the beginning of the first media asset. Theexample content descriptor 318 may contain a stop time, a duration, oranother indication of the length of time the BUD-LIGHT® beer can appearsin the first media asset (e.g., stop time at 15:20, duration of 20seconds, etc.).

The example content descriptor 318 may include spatial information, suchas XY coordinates, as to where in the first media asset the BUD-LIGHT®beer can appears on-screen. For example, the BUD-LIGHT® beer can may bepositioned in the lower left corner of the screen (e.g., X:0, Y:0).Accordingly, a secondary media asset associated with the BUD-LIGHT® beercan may be output over the first media asset in the lower left corner ofthe screen based on the spatial information within the contentdescriptor 318. The spatial location information may comprise aplurality of data types including object type, height, width, geometricshape, etc. The spatial location information may be stored inassociation with the manifest file 316. Additionally or alternatively,the spatial location information may be determined on-the-fly using edgedetection technology. Fuzzy areas may surround the center of an objectassociated with secondary media, thereby enlarging the area for userselection. The spatial location information may include XY coordinatesand a fuzzy area radius. Additionally or alternatively, objects may havedistinct borders defined by the spatial location information (e.g.,height, width, shape, etc.).

A safe area may be defined around the perimeter of the screen. The safearea may be void of a secondary media asset because, for example, thesecondary media asset may be potentially cut off by the edges of thescreen. Accordingly, the application server 107 may refrain from causinga secondary media asset to be output when the spatial locationinformation for the content descriptors 318 corresponds to locations onscreen within the safe area. Additionally or alternatively, theapplication server 107 may determine that the spatial locationinformation for the content descriptors 318 corresponds to locationson-screen within the safe area and adjust the spatial locationinformation such that the secondary media asset may be output outside ofthe safe area.

A content descriptor 318 may not include any spatial information, mayinclude a height and/or width larger than the screen, and/or may includea radius larger than the screen. The secondary media asset may fill theentire screen.

The example content descriptor 318 may include different spatialinformation for the same secondary media asset at different times. Forexample, an item in the first media asset 500 may move across thescreen. Accordingly, the content descriptor 318 may contain thelocations in the first media asset 500 to associate the secondary mediaasset at specific times. For example, at a first time the secondarymedia asset may be at a first location on the screen, at a second timethe secondary media asset may be at a second location on the screen,etc. Different content descriptors 318 may exist for the same secondarymedia asset (e.g., each content descriptor may contain one secondarymedia asset, may contain one time in the first media asset in which thesecondary media asset appears, may contain one location in the firstmedia asset with which the secondary media asset may be associated,etc.).

The example content descriptor 318 may include qualifying criterion.Such qualifying criterion may be compared to the user identificationinformation (e.g., device identifier, social media cookies, etc.)received from the smartphone 302, the personal computer 304, the tabletcomputer 306, the laptop or netbook computer 308, and/or the gateway 312to determine targeted secondary media. For example, a secondary mediaasset may be targeted based on user demographics (e.g., age, gender,location, income, etc.), holidays, sales, search history, viewinghistory, third party tracking, social media likes/dislikes, etc. Thequalifying criterion may include restrictions such as, “gender=male,”“gender=female,” “age>20,” “household income<100,000,”“location=Chicago,” etc. The application server 107 may identify contentdescriptors targeted for certain individuals. For example, a secondarymedia asset associated with a BUD-LIGHT® beer can may not be accessedand output when there are users under the age of 21 viewing the firstmedia asset 500. As another example, a secondary media asset associatedwith Valentine's Day may be accessed and output during the beginning ofFebruary.

The qualifying criterion of the content descriptor 318 may be comparedto media device specifications, such as resolution, to determine asecondary media asset best suited for the media device. For example,objects with a small pixel footprint (e.g., a tie clip) may not beidentifiable in low quality feeds, thereby making reference to asecondary media asset inappropriate. Accordingly, the contentdescriptors 318 associated with objects with small pixel footprints maybe output on media devices with high resolution and may not be output onmedia devices with low resolution.

The example content descriptor 318 may include priority information suchthat when a trick play command is activated, the BUD-LIGHT® beer canwith which the secondary media asset is associated may be indicated,emphasized, highlighted, or otherwise output based on the priorityinformation. For example, if there is a secondary media asset associatedwith the table on which the BUD-LIGHT® beer can resides, the secondarymedia asset associated with the BUD-LIGHT® beer can may be output first.Additionally or alternatively, the secondary media asset associated withthe table may be output first. A secondary media asset provider may bidfor higher priority. The secondary media asset may be emphasized basedon user navigation (e.g., using a remote, touch screen, etc.)

The manifest file 316 may be dynamic and/or may contain a plurality ofalternate content descriptors. The plurality of content descriptors 318may change and/or have a plurality of alternate versions based onlocation, time of day, time of year, episode, status (e.g., live orrerun), day, week, type of media device, type of trick play commandexecuting, etc.

A flow chart for an example process 400 is shown in FIG. 4. The exampleprocess 400 may be implemented by one or more processors executingcomputer readable instructions stored in a memory or other tangiblecomputer readable storage medium. The example process 400 begins atblock 402 when the application server 107 receives a timestampassociated with a trick play command. For example, a user may haveinitiated a fast-forward trick play command. In response to and/or afterthe trick-play command, the timestamp may be sent from the gateway 312(or from the smartphone 302, the personal computer 304, the tabletcomputer 306, the laptop or netbook computer 308) to the applicationserver 107. The application server 107 may locate a manifest filecorresponding to the first media asset (block 404). The applicationserver 107 may utilize received media identification information toidentify a manifest file for the first media asset. At block 406, theapplication server 107 may query the manifest file to determine aplurality of content descriptors 318 that each have start times lessthan or equal to the timestamp associated with the trick-play commandand have end times greater than or equal to the timestamp associatedwith the trick-play command. The application server 107 may determinewhich of the content descriptors 318 have time windows within which thetimestamp falls. Equation 1 comprises an example function that thecontent descriptors 318 may satisfy.T _(start)≤Timestamp≤T _(end)  Equation 1

Additionally or alternatively, the application server 107 may comparethe identification information for the user to any qualifying criteriain the plurality of content descriptors 318 to identify targeted contentdescriptors (block 408). The application server 107 may identify anynumber of the plurality of content descriptors 318 in which theidentification information for the user matches the qualifying criteria.The identification information may be used to further filter the numberof the plurality of content descriptors 318 that have been matched bytime. The identification information may be used to first filter thecontent descriptors 318, such that the application server 107 onlycompares the timestamp associated with the trick-play command to thecontent descriptors 318 filtered based on the identificationinformation. The content descriptors 318 may be targeted to particularusers, demographics, locations, etc.

After the application server 107 identifies content descriptors 318based on the timestamp and/or user identification information, theapplication server 107 may retrieve a secondary media asset and spatiallocation information associated with the secondary media asset from eachidentified content descriptor 318 (block 410).

Thereafter, the application server 107 transmits the secondary mediaasset to the gateway 312 (or smartphone 302, personal computer 304,tablet computer 306, laptop or netbook computer 308) to be overlaid onthe first media asset during execution of the trick play command (block412). The secondary media asset may be positioned over the first mediaasset based on the spatial location information. Thereafter, the exampleprocess 400 may cease operation. The example process 400 may be repeatednumerous times for a plurality of times and/or a plurality of secondarymedia. For example, a secondary media asset may be overlaid on everysingle object that appears within the first media asset. Some or all ofthe steps described above may be executed locally on the gateway 312,the smartphone 302, the personal computer 304, the tablet computer 306,or the laptop or the netbook computer 308.

Another example will be described with reference to the screenshots ofFIGS. 5-10. As shown in FIG. 5, a scene from a first media asset 500 maybe output on a user device such as, for example, output device 310. Theexample scene may include a businessman 502 in a suit 504 walking down astreet. At a first time, the example scene of the first media asset maybe output during a “play” command. An indicator 506 may be output overthe first media asset to identify the particular command the first mediaasset is currently associated with (e.g., a right facing triangle for aplay command). At a second time, as shown in FIG. 6, a user may touch,select, or otherwise activate a trick-play command such as, for example,a “pause” command to alter the output of the first media asset 500. Anindicator 600 may be output over the first media asset to identify theparticular command the first media asset is currently associated with(e.g., two parallel rectangles for a pause command) In association withactivation of the trick-play command, the application server 107 maysend one or more secondary media assets to be output over the firstmedia asset 500.

In the example of FIG. 6, a first secondary media asset item 602 and asecond secondary media asset item 604 may be output over the first mediaasset 500. For example, the first secondary media asset item 602 may bea secondary media asset associated with the suit that the businessman502 is wearing in the first media asset 500. The first secondary mediaasset item 602 may be a link to a website where the suit may bepurchased by a user, a webpage associated with the designer of the suit,information about the colors, materials, and sizing of the suit, a phonenumber to a custom tailor, and/or similar information. The secondsecondary media asset item 604 may be a secondary media asset associatedwith the actor and/or character depicted in the first media asset 500.For example, the second secondary media asset item 604 may be an actor'sinternational movie database (IMDB®) or WIKIPEDIA® webpage. Additionallyor alternatively, the second secondary media asset item 604 may a WIKIA®webpage dedicated to the character that the actor portrays in the firstmedia asset. Of course, any other additional information may be overlaidon the first media asset and this disclosure is not limited by way ofthe above-identified examples.

Because multiple secondary media assets may be overlaid on the firstmedia asset 500 in response to and/or after a trick-play command (e.g.,pause), the multiple secondary media assets may be prioritized such thatall secondary media assets do not appear at once. For example, if everyitem in a scene of the first media asset 500 has secondary media assetsassociated therewith, the entire first media asset 500 may becomeobscured by all the multiple secondary media assets if the multiplesecondary media assets were to be overlaid on the first media asset 500at the same time. FIGS. 7-8 comprise example screenshots whereindifferent secondary media assets are highlighted during execution of thetrick-play command.

For example, the object with which the first secondary media asset item602 is associated and the object with which the second secondary mediaasset item 604 is associated may be highlighted or otherwise emphasizedin a rotation. As shown in FIG. 7, the object with which the firstsecondary media asset item 602 is associated may be highlighted orotherwise emphasized at a first time 700 (e.g., 12:30:00 pm) duringexecution of the trick-play command and the first secondary media assetitem 602 may be output. As shown in FIG. 8, the object with which thesecond secondary media asset item 604 is associated may be highlightedor otherwise emphasized at a second time 800 (e.g., at 12:30:15 pm)after the first time during execution of the trick-play command and thesecond secondary media asset item may be output. The first secondarymedia asset item 602 may cease to be output when the second secondarymedia asset item 604 is output.

The first secondary media asset item 602 and the second secondary mediaasset item 604 may be output in a loop such that after the objectassociated with the second secondary media asset item 604 is emphasized,the object associated with the first secondary media asset item 602 maybe emphasized again. Such a loop may continue throughout execution ofthe trick-play command. The order in which objects associated with asecondary media asset are highlighted or emphasized may be based onpriority information. Secondary media asset providers may bid onpriority for higher priority. Additionally or alternatively, secondarymedia asset providers may pay for a longer period of time in which itssecondary media asset is highlighted or emphasized before shifting tothe next secondary media asset (e.g., default 15 seconds, pay for 30seconds).

A secondary media asset may not appear initially, but may appear upon amanipulation command executed by a user gesture. A manipulation commandmay include zoom-in, zoom-out, rotate/pitch/yaw, etc. User gestures toinitiate manipulation commands may include touching a screen with twofingers and expanding the fingers for zoom-in, contracting the fingersto zoom-out, rotating one finger for rotate/pitch/yaw, etc. For example,the first media asset 500 may have been recorded with a high definition,three-dimensional, and/or 360-degree video camera. Output of the firstmedia asset may be manipulated by a user to output more content than ifthe first media asset 500 was recorded with a standard fixedtwo-dimensional camera.

FIG. 9 shows an example zoomed-in version of the first media asset 500.As shown in FIG. 9, zooming-in may reveal a third secondary media assetitem 900 not previously output with the first secondary media asset item602 and the second secondary media asset item 604. The third secondarymedia asset item 900 may be a secondary media asset associated with thetie that the businessman is wearing in the first media asset 500. Thethird secondary media asset item 900 may be a link to a website wherethe tie may be purchased, a webpage associated with the designer of thetie, information about the colors and materials of the tie, a type ofknot used to tie the tie, and/or other similar information. The contentserver 106 may send to the gateway 312 (or to the smartphone 302, thepersonal computer 304, the tablet computer 306, the laptop or netbookcomputer 308, etc.) a higher resolution feed of the first media asset500 when a user performs a zoom-in command. The higher resolution feedmay prevent pixelation during zooming techniques. Additionally oralternatively, the higher resolution feed may enable additionalsecondary media assets to be revealed.

Manipulation of the first media asset 500 by the user may provideidentification of additional secondary media asset items not initiallyshown. As in the above example, an object associated with additionalsecondary media assets may be layered within another object associatedwith the secondary media asset that was initially shown (e.g., the tiebeneath the suit). Additionally or alternatively, where the first mediaasset 500 was recorded with a 360-degree video camera, a user may rotatethe first media asset 500 to reveal not only additional content of thefirst media asset 500 not previously output, but also secondary mediaasset items associated with the additional content of the first mediaasset 500 not previously output. For example, FIG. 10 shows an examplerotated version of the first media asset 500. As shown in FIG. 10,rotating the first media asset 500 may reveal a billboard 1000 and afourth secondary media asset item 1002 not previously output. The fourthsecondary media asset item 1002 may be a secondary media assetassociated with the billboard 1000 such as link to a website associatedwith an advertiser on the billboard 1000, a video, interactive mediacontent, and/or other similar information.

While the above discussion refers to the “pause” trick-play command,FIGS. 11A-11C show examples of the “fast-forward” trick-play command.The “fast-forward” examples may operate as described above, however,multiple timestamps may be received by the application server 107 andmultiple content descriptors may be accessed. An indicator 1100 may beoutput over the first media asset 500 to identify the particular commandthe first media asset is currently associated with (e.g., two rightfacing triangles for a fast-forward command) Accordingly, a secondarymedia asset may be associated with different spatial information atdifferent times. For example, during execution of a “fast-forward”trick-play command, the businessman 502 in the first media asset 500 maymove to another location on screen. Accordingly, the secondary mediaasset items 602, 604 associated with the businessman 502 and a firsttimestamp 1102 may be output corresponding to a first location 1104 at afirst time 1106, the secondary media asset items 602, 604 associatedwith the businessman 502 and a second timestamp 1108 may be outputcorresponding to a second location 1110 at a second time 1112, thesecondary media asset items 602, 604 associated with the businessman 502and a third timestamp 1114 may be output corresponding to a thirdlocation 1116 at a third time 1118, etc. The overlaid secondary mediaasset may progress with the first media asset 500 as a userfast-forwards through the first media asset 500. The secondary mediaasset items 602, 604 may be change as the first media asset 500 isfast-forwarded.

FIG. 12 shows an example process 1200 to select content descriptorsbased on a comparison of time values associated with the contentdescriptors and the timestamp. Process 1200 may be performed by a server(e.g., application server 107) or other computing device. The exampleprocess 1200 may be implemented by one or more processors executingcomputer readable instructions stored in a memory or other tangiblecomputer readable storage medium. The example process 1200 begins atblock 1202 where the application server 107 may receive a timestampassociated with a trick play command executed during output of a firstmedia asset. At block 1204, the example application server 107 mayreceive identification information for the media device or a userviewing the first media asset on the media device. The applicationserver 107 may locate a manifest file corresponding to the first mediaasset (block 1206). The application server 107 may identify a contentdescriptor at block 1208. The identified content descriptor may be oneof a plurality of content descriptors 318. At block 1210, theapplication server may determine whether the identified contentdescriptor corresponds to the timestamp. For example, the applicationserver 107 may determine whether the identified content descriptorcomprises a start time that is less than or equal to the timestamp. Ifthe application server 107 determines that the start time is not lessthan or equal to (e.g., is greater than) the timestamp (block 1210: NO),control may proceed to block 1212. If the application server 107determines that the start time is less than or equal to the timestamp(block 1210: YES), control may proceed to block 1214.

At block 1214, the application server 107 may determine whether theidentified content descriptor comprises an end time that is greater thanor equal to the timestamp. If the application server 107 determines thatthe end time is not greater than or equal to (e.g., is less than) thetimestamp (block 1214: NO), control may proceed to block 1212. If theapplication server 107 determines that the end time is greater than orequal to the timestamp (block 1214: YES), control may proceed to block1216.

At block 1216, the application server 107 may determine whether theidentification information for the media device or identificationinformation for the user viewing the first media asset on the firstmedia asset device satisfies qualifying criteria. If the applicationserver 107 determines that the identification information for the mediadevice and the identification information for the user viewing the firstmedia asset on the first media asset device do not satisfy thequalifying criteria (block 1216: NO), control may proceed to block 1212.If the application server 107 determines that the identificationinformation for the media device and the identification information forthe user viewing the first media asset on the first media asset devicesatisfy the qualifying criteria (block 1216: YES), control may proceedto block 1218.

At block 1218, the application server 107 may retrieve a secondary mediaasset from the content descriptor. The application server 107 mayretrieve spatial location information for the retrieved secondary mediaasset corresponding to an associated object within the first mediaasset. For example, the application server 107 may retrieve a COCA-COLA®video that may be overlaid (e.g., based on the spatial locationinformation) on a COCA-COLA® can within the first media asset at aparticular time and location. Control may proceed to block 1212.

At block 1212, the application server 107 may determine whether thereare any additional content descriptors within the manifest file locatedat block 1206. If the application server 107 determines there areadditional content descriptors to evaluate (block 1212: YES), controlmay return to block 1208. If the application server 107 determines thereare no additional content descriptors to evaluate (block 1212: NO),control may proceed to block 1222.

The application server 107 may identify a secondary media assetiteratively as described above by identifying a content descriptor,comparing the timestamp and identification information to criteriaassociated with the content descriptor, and moving to the next contentdescriptor for a similar analysis. Alternatively, the application server107 may concurrently identify a plurality of content descriptors eachsatisfying a criterion. At block 1222, the application server 107 maytransmit any and all retrieved secondary media assets and spatiallocation information to the media device executing the trick playcommand with which the timestamp is associated.

At block 1224, the application server 107 may receive an indication thatthe user executed a manipulation gesture. A user may manipulate thefirst media asset by zooming in, rotating, zooming out, etc. If theapplication server 107 receives an indication that the user executed amanipulation gesture (block 1224: YES), the application server 107 maylocate a manifest file corresponding to the manipulated first mediaasset (block 1226). If the application server 107 does not receive anyindication that the user executed a manipulation gesture (block 1224:NO), the example process 1200 may cease operation. The example process1200 may be executed numerous times.

FIG. 13 shows an example process 1300, which may be performed by adevice (e.g., the smartphone 302) or other computing device. The exampleprocess 1300 may be implemented by one or more processors executingcomputer readable instructions stored in a memory or tangible computerreadable storage medium. The example process 1300 begins at block 1302where the example media device may receive a trick play command duringoutput of first media asset. The example media device may send, to theapplication server 107, a timestamp associated with the trick playcommand (block 1304) and/or identification information for the mediadevice or a user viewing the first media asset on the media device(block 1306).

In response to the sending, the example media device may receive asecondary media asset and spatial location information based on thetimestamp associated with the trick play command and/or identificationinformation for the media device or a user viewing the first media asseton the media device (block 1308). The example media device may determinewhether the trick play command is currently being executed (block 1310).If the example media device determines that the trick play command isnot currently being executed (block 1310: NO), control may proceed toblock 1312. If the example media device determines that the trick playcommand is currently being executed (block 1310: YES), control mayproceed to block 1314.

At block 1314, the example media device may overlay the receivedsecondary media asset on the first media asset based on spatial locationinformation. For example, the media device may position a COCA-COLA®video (e.g., based on the spatial location information) over aCOCA-COLA® can within the first media asset at a particular time andlocation.

A user may navigate and/or make a selection of the overlaid secondarymedia asset using an input device such as a touchscreen, a wirelessdevice, a remote control, etc. Thus, the example media device maydetermine whether a command corresponding to selection of a secondarymedia asset has been received (e.g., by the processor of the mediadevice) (block 1316). If the media device determines that a commandcorresponding to selection of a secondary media asset has been received(block 1316: YES), control may proceed to block 1318. If the mediadevice determines that a command corresponding to selection of asecondary media asset has not been received (block 1316: NO), controlmay proceed to block 1320.

At block 1318, the media device may execute a command corresponding tothe selected secondary media. For example, if the selected secondarymedia asset is a website link, the media device may open a browser anddirect the user to the website associated with the link; if the selectedsecondary media asset is a video, the media device may begin output ofthe video; if the selected secondary media asset is text, the mediadevice may expand the text field and zoom so that the user may read thetext; etc. Thereafter, control may return to block 1310.

At block 1320, the example media device may identify whether it receivedmultiple secondary media assets at block 1308. If the example mediadevice did not receive multiple secondary media assets (block 1320: NO),control may return to block 1310. If the example media device receivedmultiple secondary media asset (block 1320: YES), control may proceed toblock 1322. At block 1322, the example media device may emphasize thefirst secondary media asset of the multiple secondary media asset thathas the highest priority according to the priority information. Forexample, COCA-COLA® may bid to have the highest priority and thus haveits secondary media asset associated with the COCA-COLA® can in thefirst media asset be highlighted or otherwise emphasized first whenmultiple secondary media assets are output. In the context ofvideo/audio secondary media, the emphasized secondary media asset mayplay the audio/visual content to completion, for a threshold amount oftime, until a user navigates away from the emphasized secondary media,etc. before enabling additional secondary media assets to playaudio/visual content.

In the example of FIG. 13, if a threshold amount of time has not passed(block 1324: NO), the example media device may wait for user input(e.g., block 1316). After a threshold amount of time has passed sincethe secondary media asset was highlighted or otherwise emphasized (block1324: YES), control may proceed to block 1326. At block 1326, the mediadevice may emphasize the next secondary media asset according to thepriority information of the multiple secondary media. At block 1328, themedia device may determine whether the trick play command is currentlybeing executed. If the media device determines that the trick playcommand is currently being executed (block 1328: YES), control mayreturn to block 1324. However, if the media device determines that thetrick play command is not currently being executed (block 1328: NO),control may proceed to block 1312.

At block 1312, the example media device may cease outputting or refrainfrom overlaying a secondary media asset on the first media asset. Forexample, the first media asset may be obscured by a secondary mediaasset and thus, it may not make sense to overlay the secondary mediaasset during non-trick play operation. Thereafter, the example process1300 may cease operation.

The example media device may be in communication with the applicationserver 107. Accordingly, although the above description details themedia device performing one or more functions, such functions may beexecuted by the application server 107 and output on the media device.One, some, or all of the steps described in connection with FIG. 13 maybe executed by the media device, the application server 107, or anycombination thereof. While the above disclosure describes one or moremedia devices (e.g., the smartphone 302, the personal computer 304, thetablet computer 306, the laptop or netbook computer 308, the smarttelevision, the output device 310, or the gateway 312) interacting withthe application server 107, the one or more media devices may operateoffline. For example, any one of the media devices may download amanifest file 316 and perform the methods described herein offline. Theapplication server 107 may check the physical storage capacity of themedia device and provide a different manifest file for download based onthe storage capacity. For example, if the storage capacity of a mediadevice is low, the application server 107 may provide a first manifestfile comprising only content descriptors with the highest priorityinformation. Likewise, if the storage capacity of a media device ishigh, the application server 107 may provide a second manifest filecomprising all content descriptors. History regarding whether the devicehas previously interacted with a secondary media asset and/or previouslydownloaded a manifest file comprising all content descriptors may beused to determine whether to provide a manifest file comprising allcontent descriptors or provide a manifest file comprising a subset ofcontent descriptors.

The secondary media asset may contain audio. Often, when a trick playcommand is executed, no audio is output during execution of the trickplay command. Accordingly, output of audio during the execution of thetrick play command may cause user discomfort. Thus, any audio output inassociation with the secondary media asset may be controlled by the enduser (e.g., muted, turned down, etc.).

A secondary media asset may be output over the first media asset on thesame media device (e.g., the smartphone 302, the personal computer 304,the tablet computer 306, the laptop or netbook computer 308, the smarttelevision, the output device 310, or the gateway 312). Additionally oralternatively, a secondary media asset may be output over the firstmedia asset on a second screen device. For example, if the first mediaasset is being output on a first screen device (e.g., the output device310), a second screen device (e.g., the smartphone 302) may mirror thefirst screen device, receive the secondary media, and overlay thesecondary media asset on the first media asset on the second screendevice. The second screen device (e.g., the smartphone 302) may pair,register, or otherwise connect with the first screen device (e.g., theoutput device 310). The second screen device may “connect” with thefirst screen device via a text, email, or quick response (QR) code. Thefirst screen device may sling the first media asset to the second screendevice.

The secondary media asset may extend beyond the first screen device onwhich the first media asset is being output. For example, using thesecond screen device, a secondary media asset may extend into virtualspace around the first screen device and be output on the second screendevice if/when the second screen device is positioned towards thevirtual space in which the secondary media asset extends. The secondscreen device may output a secondary media asset as augmented reality inassociation with the output of the first media asset on the first screendevice.

Impressions may be generated upon both output of the secondary mediaasset and upon user interaction with the secondary media. As usedherein, an impression is a recordation of media consumption. Thegenerated impressions may be used to track user preferences and targetfuture secondary media assets toward a user. The impressions may begenerated by the media device upon which the secondary media asset isoutput and may be sent to the central office 103 and/or the applicationserver 107 for further processing.

The application server 107 may generate a database of secondary mediaasset items associated with the first media asset. For example, allclothing associated with the USA NETWORK® series “Suits” that has asecondary media asset associated therewith may be collected into asearchable database. Some content descriptors from a first manifest fileand other content descriptors from a second manifest file may becombined into the database. The database may be searchable by users forobjects associated with the secondary media asset items.

While this disclosure references television media, the systems, methods,or apparatuses described herein may be equally applicable to videogames, augmented reality, virtual reality, and/or other types of media.

Although examples are described above, the various features and stepsmay be combined, divided, omitted, rearranged, revised and/or augmentedin any desired manner, depending on the specific outcome and/orapplication. Additional features may be added. Various alterations,modifications, and improvements will readily occur to those skilled inart. Such alterations, modifications, and improvements as are madeobvious by this disclosure are intended to be part of this disclosurethough not expressly stated herein, and are intended to be within thespirit and scope of the disclosure. Accordingly, the foregoingdescription is by way of example only, and not limiting. This patent islimited only as defined in the following claims and equivalents thereto.

The invention claimed is:
 1. A method comprising: receiving, by acomputing device and during output of a first media asset, a first trickplay command to skip an additional media asset; receiving a second trickplay command during the output of the first media asset; determining,based on the additional media asset, a secondary media asset;determining a spatial location, in the first media asset, that isassociated with a time of the second trick play command; and causingconcurrent output of the secondary media asset and the first mediaasset, wherein a position of the secondary media asset is based on thespatial location.
 2. The method of claim 1, wherein the additional mediaasset is a portion of the first media asset.
 3. The method of claim 1,wherein the additional media asset is an advertisement.
 4. The method ofclaim 1, further comprising: retrieving, based on a comparison of thetime of the second trick play command with start and end timesassociated with the secondary media asset, the secondary media asset. 5.The method of claim 1, wherein the secondary media asset and theadditional media asset are parts of a larger media asset.
 6. The methodof claim 1, further comprising: determining, based on the additionalmedia asset, a plurality of secondary media assets; and determining,based on priority information associated with the plurality of secondarymedia assets, a priority of outputting one or more of the plurality ofsecondary media assets.
 7. The method of claim 1, further comprising:recording, for a user device and based on the concurrent output of thesecondary media asset and the first media asset, an impressionassociated with the secondary media asset; and determining, based on therecorded impression, a future secondary media asset associated with theuser device.
 8. An apparatus comprising: one or more processors; andmemory storing instructions that, when executed by the one or moreprocessors, cause the apparatus to: receive, during output of a firstmedia asset, a first trick play command to skip an additional mediaasset; receive a second trick play command during the output of thefirst media asset; determine, based on the additional media asset, asecondary media asset; determine a spatial location, in the first mediaasset, that is associated with a time of the second trick play command;and cause concurrent output of the secondary media asset and the firstmedia asset, wherein a position of the secondary media asset is based onthe spatial location.
 9. The apparatus of claim 8, wherein theadditional media asset is a portion of the first media asset.
 10. Theapparatus of claim 8, wherein the additional media asset is anadvertisement.
 11. The apparatus of claim 8, wherein the instructions,when executed by the one or more processors, cause the apparatus to:retrieve, based on a comparison of the time of the second trick playcommand with start and end times associated with the secondary mediaasset, the secondary media asset.
 12. The apparatus of claim 8, whereinthe secondary media asset and the additional media asset are parts of alarger media asset.
 13. The apparatus of claim 8, wherein theinstructions, when executed by the one or more processors, cause theapparatus to: determine, based on the additional media asset, aplurality of secondary media assets; and determine, based on priorityinformation associated with the plurality of secondary media assets, apriority of outputting one or more of the plurality of secondary mediaassets.
 14. The apparatus of claim 8, wherein the instructions, whenexecuted by the one or more processors, cause the apparatus to: record,for a user device and based on the concurrent output of the secondarymedia asset and the first media asset, an impression associated with thesecondary media asset; and determine, based on the recorded impression,a future secondary media asset associated with the user device.
 15. Oneor more non-transitory computer-readable media storing instructionsthat, when executed by one or more processors, cause: receiving, duringoutput of a first media asset, a first trick play command to skip anadditional media asset; receiving a second trick play command during theoutput of the first media asset; determining, based on the additionalmedia asset, a secondary media asset; determining a spatial location, inthe first media asset, that is associated with a time of the secondtrick play command; and causing concurrent output of the secondary mediaasset and the first media asset, wherein a position of the secondarymedia asset is based on the spatial location.
 16. The one or morenon-transitory computer-readable media of claim 15, wherein theadditional media asset is a portion of the first media asset.
 17. Theone or more non-transitory computer-readable media of claim 15, whereinthe additional media asset is an advertisement.
 18. The one or morenon-transitory computer-readable media of claim 15, wherein theinstructions, when executed by the one or more processors, cause:retrieving, based on a comparison of the time of the second trick playcommand with start and end times associated with the secondary mediaasset, the secondary media asset.
 19. The one or more non-transitorycomputer-readable media of claim 15, wherein the secondary media assetand the additional media asset are parts of a larger media asset. 20.The one or more non-transitory computer-readable media of claim 15,wherein the instructions, when executed by the one or more processors,cause: determining, based on the additional media asset, a plurality ofsecondary media assets; and determining, based on priority informationassociated with the plurality of secondary media assets, a priority ofoutputting one or more of the plurality of secondary media assets. 21.The one or more non-transitory computer-readable media of claim 15,wherein the instructions, when executed by the one or more processors,cause: recording, for a user device and based on the concurrent outputof the secondary media asset and the first media asset, an impressionassociated with the secondary media asset; and determining, based on therecorded impression, a future secondary media asset associated with theuser device.
 22. A system comprising: a first computing device; and asecond computing device, wherein the first computing device comprises:one or more first processors; and first memory storing firstinstructions that, when executed by the one or more first processors,cause the first computing device to: receive, during output of a firstmedia asset, a first trick play command to skip an additional mediaasset; receive a second trick play command during the output of thefirst media asset; determine, based on the additional media asset, asecondary media asset; determine a spatial location, in the first mediaasset, that is associated with a time of the second trick play command;and cause concurrent output of the secondary media asset and the firstmedia asset, wherein a position of the secondary media asset is based onthe spatial location, and wherein the second computing device comprises:one or more second processors; and second memory storing secondinstructions that, when executed by the one or more second processors,cause the second computing device to: send the first trick play command.23. The system of claim 22, wherein the additional media asset is aportion of the first media asset.
 24. The system of claim 22, whereinthe additional media asset is an advertisement.
 25. The system of claim22, wherein the first instructions, when executed by the one or morefirst processors, cause the first computing device to: retrieve, basedon a comparison of the time of the second trick play command with startand end times associated with the secondary media asset, the secondarymedia asset.
 26. The system of claim 22, wherein the secondary mediaasset and the additional media asset are parts of a larger media asset.27. The system of claim 22, wherein the first instructions, whenexecuted by the one or more first processors, cause the first computingdevice to: determine, based on the additional media asset, a pluralityof secondary media assets; and determine, based on priority informationassociated with the plurality of secondary media assets, a priority ofoutputting one or more of the plurality of secondary media assets. 28.The system of claim 22, wherein the first instructions, when executed bythe one or more first processors, cause the first computing device to:record, for a user device and based on the concurrent output of thesecondary media asset and the first media asset, an impressionassociated with the secondary media asset; and determine, based on therecorded impression, a future secondary media asset associated with theuser device.